<?php 

	include("config.php");
    include(INCLUDEDIR."core.php");
	include("acceso.php");
	
	$tpl = new Plantilla();
	$tpl->setPlantilla("tpl.clases.html");
	$tpl->prepare();
	
	/*if($_GET['idc'] && $_GET['aasdas']="eliminar_clase") {
		$id_clase = intval($_GET['idc']);
		mysql_query("DELETE FROM clases_detalle WHERE id_clase = '$id_clase'");
		mysql_query("DELETE FROM clases WHERE id_clase = '$id_clase'");
		registrar_log("Se ha eliminado la clase $id_clase");
		redir("clases.php","La clase ha sido eliminada");
	}*/
	
	if($_POST['accion']=="eliminar_clases") {
		$callback = $_SERVER['REQUEST_URI'];
		$callback = str_replace("error=","eex",$callback);
		$callback = str_replace("m=","eey",$callback);
		$nclase = isset($_POST['nclase'])?$_POST['nclase']:array();
		if(count($nclase)==0) redir($callback,"Debe seleccionar al menos un item",true);
		foreach($nclase as $id_clase) {

		}
		exit();			
	}

	if($_POST['accion']=="facturar_clases") {
		$nclase = isset($_POST['nclase'])?$_POST['nclase']:array();
		$callback = $_SERVER['PHP_SELF']."?id_estatus=0";
		if(count($nclase)==0) redir($callback,"Debe seleccionar al menos un item",true);
		foreach($nclase as $id_clase) {
			$id_clase = intval($id_clase);
			FacturarClase($id_clase);
		}
		redir($callback,"Fueron aplicadas las modificaciones a las clases seleccionadas.");
	}
	
	if($_POST['accion']=="clases_cobradas") {
		$nclase = isset($_POST['nclase'])?$_POST['nclase']:array();
		$callback = $_SERVER['PHP_SELF']."?id_estatus=0";
		if(count($nclase)==0) redir($callback,"Debe seleccionar al menos un item",true);
		foreach($nclase as $id_clase) {
			$id_clase = intval($id_clase);
			//echo("aplicando cambios a $id_clase<br>");
			mysql_query("UPDATE clases SET fue_cobrada = '1' WHERE id_clase = '$id_clase'");
		}
		redir($callback,"Fueron aplicadas las modificaciones a las clases seleccionadas.");
	}
	
	
	if($_POST['accion']=="0") {		
		redir($_SERVER['PHP_SELF']."?id_estatus=0","Debe seleccionar una opcion",true);	
	}

	$fecha_desde = isset($_GET['fecha_desde'])?$_GET['fecha_desde']:date("01-m-Y");
	$fecha_hasta = isset($_GET['fecha_hasta'])?$_GET['fecha_hasta']:date("d-m-Y");

	$texto = isset($_GET['texto'])?sanitizar($_GET['texto']):"";
	$profesores = db::getArrayKey("SELECT id_persona, nombre_persona FROM personas WHERE es_profesor = 1 ORDER BY nombre_persona ASC");
	$id_profesor = isset($_GET['id_profesor'])?intval($_GET['id_profesor']):0;
	$estatuses = db::getArrayKey("SELECT id_estatus, estatus FROM clase_estatus ORDER BY id_estatus ASC");
	$estatuses[10] = 'Todas las Facturas';
	$estatuses[11] = 'Clases Por Cobrar';
	$id_estatus = isset($_GET['id_estatus'])?intval($_GET['id_estatus']):1;

	$tpl->newBlock("FORMULARIOBUSQUEDA");
	$tpl->assign("texto",$texto);
	$tpl->assign("profesor",genCombo("id_profesor",$profesores,$id_profesor,'- Todos los profesores -'));
	$tpl->assign("estatuses",genCombo("id_estatus",$estatuses,$id_estatus,''));
	$tpl->assign("fecha_desde",$fecha_desde);
	$tpl->assign("fecha_hasta",$fecha_hasta);
	Post2Get("","id_estatus");
	
	
	$query = "	SELECT *, clases.id_clase as cod_clase FROM clases INNER JOIN personas 
				ON clases.id_profesor = personas.id_persona 
				INNER JOIN clase_estatus ON clases.id_estatus = clase_estatus.id_estatus
				LEFT JOIN (
					SELECT id_clase, SUM(horas*monto) 
					AS total_monto 
					FROM clases_detalle GROUP BY id_clase
				) AS clases_agrupadas
				ON clases.id_clase = clases_agrupadas.id_clase				
				__WHERE__
				ORDER BY clases.id_profesor DESC, clases.fecha_clase DESC ";
	
	$filtros = array();
	if(strlen($texto)>1) {
		$filtros[] = db::SearchText($texto,array ("clases","personas") );
	}
	if($id_profesor>0) {
		$filtros[] = "clases.id_profesor = '$id_profesor'";	
	}
	if(!empty($fecha_desde)) {
		$filtros[] = "clases.fecha_clase >= '".fecha_a_db($fecha_desde)."'";	
	}
	
	if(!empty($fecha_hasta)) {
		$filtros[] = "clases.fecha_clase <= '".fecha_a_db($fecha_hasta)."'";	
	}
	
	
	if($id_estatus<10) $filtros[] = "clases.id_estatus = '$id_estatus'";	
	if($id_estatus==11) $filtros[] = "clases.fue_cobrada = '0'";
	
	if(count($filtros)>0) {
		$query = str_replace("__WHERE__"," WHERE (".implode(" AND ",$filtros).")",$query);	
	} else {
		$query = str_replace("__WHERE__","",$query);
	}

	$result = mysql_query($query);
	if($result && mysql_num_rows($result)>0) {
		$tpl->newBlock("CLASELISTADO");	
		$separador = "separador";
		$ultima_fecha = "";
		$total_monto_total = 0;
		$total_comision = 0;
		$total_restan = 0;
		while($fila = mysql_fetch_assoc($result)) {
			$fila['id_clase'] = $fila['cod_clase'];
			$fecha_clase = $fila['fecha_clase'];
			if($fecha_clase!=$ultima_fecha) {
				$separador=$separador==""?"separador":"";
				$ultima_fecha =$fecha_clase;	
			}
			$tpl->newBlock("CLASEFILA");
			$tpl->assign("separador",$separador);
			$id_clase = $fila['id_clase'];			
			foreach($fila as $key => $value) {
				if(strpos($key,"fecha")!==false) $value = db_a_fecha($value);
				$tpl->assign($key,$value);					
			}
			$tpl->assign("id_clase",$id_clase);
			$fue_cobrada = checked($fila['fue_cobrada']);
			$tpl->assign("fue_cobrada",$fue_cobrada);
			$tpl->assign("porcentaje",intval($fila['porcentaje']));
			$tpl->assign("total_monto",tomoney($fila['total_monto']));
			$comision = floatval($fila['total_monto'])*floatval($fila['porcentaje'])/100.0;
			$restan = floatval($fila['total_monto'])-$comision;
			$tpl->assign("comision",tomoney($comision));
			$tpl->assign("restan",tomoney($restan));			
			$total_monto_total+=$fila['total_monto'];
			$total_comision+=$comision;
			$total_restan+=$restan;			
		}	
		$tpl->newBlock("CLASETOTAL");
		$tpl->assign("total_monto_total",tomoney($total_monto_total));
		$tpl->assign("total_comision",tomoney($total_comision));
		$tpl->assign("total_restan",tomoney($total_restan));
	} else {
		$tpl->newBlock("SINRESULTADOS");	
	}
	
	$tpl->Mostrar();
?>